package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 物料库存信息对象 erp_material_inventory
 *
 * @author wutao
 * @date 2024-07-04
 */
@TableName("erp_material_inventory")
@ApiModel(value = "erp_material_inventory对象", description = "物料库存信息")
@Data
public class MaterialInventoryEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 物料库存信息主键id
     */
    @TableId(type = IdType.INPUT)
    private String id;

    /**
     * 物料id
     */
    @ApiModelProperty("物料id")
    @TableField("material_id")
    @Excel(name = "物料id")
    private String materialId;

    /**
     * 库存单位dialog
     */
    @ApiModelProperty("库存单位dialog")
    @TableField("inventory_unit")
    @Excel(name = "库存单位dialog")
    private String inventoryUnit;

    /**
     * 辅助单位dialog
     */
    @ApiModelProperty("辅助单位dialog")
    @TableField("support_unit")
    @Excel(name = "辅助单位dialog")
    private String supportUnit;

    /**
     * 换算方向
     */
    @ApiModelProperty("换算方向")
    @TableField("convert_direction")
    @Excel(name = "换算方向")
    private String convertDirection;

    /**
     * 仓库dialog
     */
    @ApiModelProperty("仓库dialog")
    @TableField("warehouse_code")
    @Excel(name = "仓库dialog")
    private String warehouseCode;

    /**
     * 仓位
     */
    @ApiModelProperty("仓位")
    @TableField("ware_position")
    @Excel(name = "仓位")
    private String warePosition;

    /**
     * 单箱标准数量
     */
    @ApiModelProperty("单箱标准数量")
    @TableField("standard_number")
    @Excel(name = "单箱标准数量")
    private String standardNumber;

    /**
     * 可锁库（0:否1：是）
     */
    @TableField("is_lock")
    @ApiModelProperty("可锁库")
    @Excel(name = "可锁库", readConverterExp = "0=:否1：是")
    private String isLock;

    /**
     * 启用周期盘点（0否1是）
     */
    @TableField("is_check")
    @ApiModelProperty("启用周期盘点")
    @Excel(name = "启用周期盘点", readConverterExp = "0=否1是")
    private String isCheck;

    /**
     * 盘点周期（0:周，1月）
     */
    @TableField("check_cycle")
    @ApiModelProperty("盘点周期")
    @Excel(name = "盘点周期", readConverterExp = "0=:周，1月")
    private String checkCycle;

    /**
     * 第多少天
     */
    @ApiModelProperty("第多少天")
    @TableField("day")
    @Excel(name = "第多少天")
    private String day;

    /**
     * 必盘点（0否：1是）
     */
    @TableField("is_true_check")
    @ApiModelProperty("必盘点")
    @Excel(name = "必盘点", readConverterExp = "0=否：1是")
    private String isTrueCheck;

    /**
     * 启用批号（0否1是）
     */
    @TableField("is_batch")
    @ApiModelProperty("启用批号")
    @Excel(name = "启用批号", readConverterExp = "0=否1是")
    private String isBatch;

    /**
     * 批号编码规则
     */
    @ApiModelProperty("批号编码规则")
    @TableField("batch_rule")
    @Excel(name = "批号编码规则")
    private String batchRule;

    /**
     * 启用保质期管理（0否1是）
     */
    @TableField("quality_manage")
    @ApiModelProperty("启用保质期管理")
    @Excel(name = "启用保质期管理", readConverterExp = "0=否1是")
    private String qualityManage;

    /**
     * 批号附属信息（0否1是）
     */
    @TableField("batch_info")
    @ApiModelProperty("批号附属信息")
    @Excel(name = "批号附属信息", readConverterExp = "0=否1是")
    private String batchInfo;

    /**
     * 保质期单位(日,月，年)
     */
    @ApiModelProperty("保质期单位(日,月，年)")
    @TableField("quality_unit")
    @Excel(name = "保质期单位(日,月，年)")
    private String qualityUnit;

    /**
     * 保质期
     */
    @ApiModelProperty("保质期")
    @TableField("quality_num")
    @Excel(name = "保质期")
    private String qualityNum;

    /**
     * 寿命期
     */
    @ApiModelProperty("寿命期")
    @TableField("service_life")
    @Excel(name = "寿命期")
    private String serviceLife;

    /**
     * 参考成本
     */
    @ApiModelProperty("参考成本")
    @TableField("reference_cost")
    @Excel(name = "参考成本")
    private String referenceCost;

    /**
     * 成本单位dialog
     */
    @ApiModelProperty("成本单位dialog")
    @TableField("cost_unit")
    @Excel(name = "成本单位dialog")
    private String costUnit;

    /**
     * 币别
     */
    @ApiModelProperty("币别")
    @TableField("currency")
    @Excel(name = "币别")
    private String currency;

    /**
     * 最小库存预警0否1是
     */
    @ApiModelProperty("最小库存预警0否1是")
    @TableField("is_min_inventory")
    @Excel(name = "最小库存预警0否1是")
    private String isMinInventory;

    /**
     * 安全库存预警0否1是
     */
    @ApiModelProperty("安全库存预警0否1是")
    @TableField("is_safe_inventory")
    @Excel(name = "安全库存预警0否1是")
    private String isSafeInventory;

    /**
     * 最大库存预警0否1是
     */
    @ApiModelProperty("最大库存预警0否1是")
    @TableField("is_max_inventory")
    @Excel(name = "最大库存预警0否1是")
    private String isMaxInventory;

    /**
     * 再订货点预警
     */
    @ApiModelProperty("再订货点预警")
    @TableField("is_order_goods")
    @Excel(name = "再订货点预警")
    private String isOrderGoods;

    /**
     * 最小库存
     */
    @ApiModelProperty("最小库存")
    @TableField("min_inventory_num")
    @Excel(name = "最小库存")
    private String minInventoryNum;

    /**
     * 最大库存
     */
    @ApiModelProperty("最大库存")
    @TableField("max_inventoy_num")
    @Excel(name = "最大库存")
    private String maxInventoyNum;

    /**
     * 在订货点
     */
    @ApiModelProperty("在订货点")
    @TableField("order_goods_num")
    @Excel(name = "在订货点")
    private String orderGoodsNum;

    /**
     * 安全库存
     */
    @ApiModelProperty("安全库存")
    @TableField("safe_inventory_num")
    @Excel(name = "安全库存")
    private String safeInventoryNum;

    /**
     * 经济订货批量
     */
    @ApiModelProperty("经济订货批量")
    @TableField("economic_ordering_batch")
    @Excel(name = "经济订货批量")
    private String economicOrderingBatch;

    /**
     * 是否使用(1是0否)
     */
    @ApiModelProperty ( "是否使用(1是2否)" )
    @TableField (value = "is_used")
    @TableLogic
    @Excel ( name = "是否使用(1是2否)" )
    private Integer isUsed;
}
